package com.ym.medical.domain.vo;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.ym.medical.enums.HospitalAttributesEnum;
import com.ym.medical.enums.HospitalBelongEnum;
import com.ym.medical.enums.HospitalLevelEnum;
import com.ym.medical.enums.HospitalTypeEnum;
import com.ym.medical.enums.PublishStatusEnum;
import com.ym.soso.domain.entity.RegistryWayEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * @author: 张文博
 * @version: 2019年11月13日 11:47
 */


@Data
@ApiModel("医院返回实体")
public class HospitalVo {
    @ApiModelProperty(notes = "主键")
    private Long id;

    @ApiModelProperty(notes = "医院编码")
    private String hosCode;

    @ApiModelProperty(notes = "医院名称")
    private String hosName;

    @ApiModelProperty(notes = "图")
    private String hosPhoto;

    @ApiModelProperty(notes = "区域")
    private String area;

    @ApiModelProperty(notes = "省份")
    private String prov;

    @ApiModelProperty(notes = "市")
    private String city;

    @ApiModelProperty(notes = "医院类别")
    @JsonSerialize(converter = HospitalTypeEnum.Covert.class)
    private String theType;

    @ApiModelProperty(notes = "医院等级")
    @JsonSerialize(converter = HospitalLevelEnum.Covert.class)
    private String hosLevel;

    @ApiModelProperty(notes = "公/私")
    @JsonSerialize(converter = HospitalAttributesEnum.Covert.class)
    private String hosProp;

    @ApiModelProperty(notes = "国内排名")

    private Integer landRank;

    @ApiModelProperty(notes = "区域排名")
    private Integer areaRank;

    @ApiModelProperty(notes = "市级排名")
    private Integer cityRank;

    @ApiModelProperty(notes = "省级排名")
    private Integer provRank;

    @ApiModelProperty(notes = "经度")
    private Double lng;

    @ApiModelProperty(notes = "纬度")
    private Double lat;

    @ApiModelProperty(notes = "医院地址")
    private String addrDesc;

    @ApiModelProperty(notes = "联系电话")
    private String phoneNo;

    @ApiModelProperty(notes = "挂号方式")
    private String registryWay;

    @ApiModelProperty(notes = "医院特长")
    private String theGoods;

    @ApiModelProperty(notes = "趁车路线")
    private String thePath;

    @ApiModelProperty(notes = "医院介绍")
    private String introduction;

    @ApiModelProperty(notes = "创建人")
    //@JsonSerialize(converter = SystemUserCover.class)
    private Long created;

    @ApiModelProperty(notes = "创建时间")
    private Date createTime;

    @ApiModelProperty(notes = "更新人")
    //@JsonSerialize(converter = SystemUserCover.class)
    private Long updated;

    @ApiModelProperty(notes = "更新时间")
    private Date updateTime;

    @ApiModelProperty(notes = "删除标志")
    private String deleted;

    @ApiModelProperty("科室code")
    private String deptCode;


    @ApiModelProperty(notes = "距離")
    private Double distance;

    @ApiModelProperty("医院地址")
    private String navUrl;

    @ApiModelProperty(notes = "层级")
    @JsonSerialize(converter = HospitalBelongEnum.Covert.class)
    private String theBelong;

    @ApiModelProperty("挂号方式集合列表")
    private List<RegistryWayEntity> ways;

    @ApiModelProperty(notes = "面积")
    private Double theArea;

    @ApiModelProperty(notes = "床位数量")
    private Integer theBedNum;



    @ApiModelProperty(notes = "标签")
    private String tags;

    @ApiModelProperty(notes = "发布状态")
    @JsonSerialize(converter = PublishStatusEnum.Covert.class)
    private String publishStatus;

    @ApiModelProperty(notes = "发布人")
    //@JsonSerialize(converter = SystemUserCover.class)
    private Long publisher;

    @ApiModelProperty(notes = "发布时间")
    private Date publishTime;


}
